package com.powerbank.user.dto;

import lombok.Data;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 钱包提现DTO
 */
@Data
public class WalletWithdrawDTO {

    /**
     * 提现金额
     */
    @NotNull(message = "提现金额不能为空")
    @DecimalMin(value = "0.01", message = "提现金额必须大于0")
    private BigDecimal amount;

    /**
     * 提现方式：BANK_CARD-银行卡，ALIPAY-支付宝
     */
    @NotBlank(message = "提现方式不能为空")
    private String withdrawMethod;

    /**
     * 银行卡号或支付宝账号
     */
    @NotBlank(message = "收款账号不能为空")
    private String accountNo;

    /**
     * 收款人姓名
     */
    @NotBlank(message = "收款人姓名不能为空")
    private String accountName;

    /**
     * 银行名称（银行卡提现时必填）
     */
    private String bankName;

    /**
     * 支付密码
     */
    @NotBlank(message = "支付密码不能为空")
    private String payPassword;

    /**
     * 备注
     */
    private String remark;
}